package com.cykj.product.service.impl;

import com.cykj.product.domain.BsProductCategory;
import com.cykj.product.mapper.BsProductCategoryMapper;
import com.cykj.product.service.IBsProductCategoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;


import java.sql.Timestamp;
import java.util.List;

/**
 * 商品类目Service业务层处理
 * 
 * @author 天才少年
 * @date 2025-08-20
 */
@Service
public class BsProductCategoryServiceImpl implements IBsProductCategoryService 
{
    @Autowired
    private BsProductCategoryMapper bsProductCategoryMapper;

    /**
     * 查询商品类目
     * 
     * @param id 商品类目主键
     * @return 商品类目
     */
    @Override
    public BsProductCategory selectBsProductCategoryById(Long id)
    {
        return bsProductCategoryMapper.selectBsProductCategoryById(id);
    }

    /**
     * 查询商品类目列表
     * 
     * @param bsProductCategory 商品类目
     * @return 商品类目
     */
    @Override
    public List<BsProductCategory> selectBsProductCategoryList(BsProductCategory bsProductCategory)
    {
        return bsProductCategoryMapper.selectBsProductCategoryList(bsProductCategory);
    }

    /**
     * 新增商品类目
     * 
     * @param bsProductCategory 商品类目
     * @return 结果
     */
    @Override
    public int insertBsProductCategory(BsProductCategory bsProductCategory)
    {
        return bsProductCategoryMapper.insertBsProductCategory(bsProductCategory);
    }

    /**
     * 修改商品类目
     * 
     * @param bsProductCategory 商品类目
     * @return 结果
     */
    @Override
    public int updateBsProductCategory(BsProductCategory bsProductCategory)
    {
        bsProductCategory.setUpdateTime(new Timestamp(System.currentTimeMillis()));
        return bsProductCategoryMapper.updateBsProductCategory(bsProductCategory);
    }
    // 下架状态值（例如0表示禁用）
    private static final Long OFF_SHELF_STATUS = 2L;
    /**
     * 批量删除商品类目
     * 
     * @param ids 需要删除的商品类目主键
     * @return 结果
     */
    @Override
    public int deleteBsProductCategoryByIds(List<Long> ids)
    {
        return bsProductCategoryMapper.deleteBsProductCategoryByIds(ids,OFF_SHELF_STATUS);
    }

    /**
     * 删除商品类目信息
     * 
     * @param id 商品类目主键
     * @return 结果
     */
    @Override
    public int deleteBsProductCategoryById(Long id)
    {
        return bsProductCategoryMapper.deleteBsProductCategoryById(id,OFF_SHELF_STATUS);
    }
}
